package co.baiku.boot.im.tencent.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;

/**
 * 消息元素 TIMMsgElement
 * <p>
 * 地理位置消息元素<br/>
 * 当接收方为 iOS 或 Android，且应用处在后台时，中文版离线推送文本为“[位置]”，英文版离线推送文本为“[Location]”。
 * </p>
 */
@JsonTypeName(value = "TIMLocationElem")
public class TencentMsgLocationElem implements TencentMsgContent {
    /**
     * 地理位置描述信息。
     */
    @JsonProperty("Desc")
    private String desc;
    /**
     * 纬度
     */
    @JsonProperty("Latitude")
    private Double latitude;
    /**
     * 经度
     */
    @JsonProperty("Longitude")
    private Double longitude;


    public TencentMsgLocationElem() {
    }

    public TencentMsgLocationElem(String desc, Double latitude, Double longitude) {
        this.desc = desc;
        this.latitude = latitude;
        this.longitude = longitude;
    }

    public static TencentMsgLocationElem of(String text, Double latitude, Double longitude) {
        return new TencentMsgLocationElem(text, latitude, longitude);
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }
}
